home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / howtoa1r / modmemor.bas
BASIC Source File  |  1999-08-11  |  7KB  |  161 lines

  1. Attribute VB_Name = "modMemory"
  2. '*****************************************************************************************
  3. '*****************************************************************************************
  4. ' Module Name : modMemory
  5. ' By : John Allan Lee
  6. '      zero42_NOSPAM_@quik.com
  7. '      (Take out _NOSPAM_ to email me)
  8. ' Date : August 1999
  9. ' Description : (See Returns)
  10. ' Inputs : None
  11. ' Returns : Physical Memory Total
  12. '           Physical memory Free
  13. '           Physical Memory Used
  14. '           Virtual Memory Total
  15. '           Virtual Memory Free
  16. '           Virtual Memory Used
  17. '   *Each with the option of being formatted (with commas) or unformatted (without commas)
  18. ' Assumes : Some prior knowledge about modules.
  19. '           You may want to add a 'k' to the end of the returned string. (ref: Examples)
  20. '           I prefer to do this on the form level as it doesn't work well in calculations
  21. '
  22. '*****************************************************************************************
  23. '*****************************************************************************************
  24.  
  25. Option Explicit
  26.  
  27. Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As MEMORYSTATUS)
  28.  
  29. Type MEMORYSTATUS
  30.     dwLength            As Long
  31.     dwMemoryLoad        As Long
  32.     dwTotalPhys         As Long
  33.     dwAvailPhys         As Long
  34.     dwTotalPageFile     As Long
  35.     dwAvailPageFile     As Long
  36.     dwTotalVirtual      As Long
  37.     dwAvailVirtual      As Long
  38. End Type
  39.  
  40. '*****************************************************************************************
  41. ' Function Name : GetPhysicalMemoryTotal
  42. ' Description : Returns the total amount of physical memory (RAM)
  43. ' Example : Text1.Text = modMemory.GetPhysicalMemoryTotal(True) & " k"
  44. '           Would Return : (something like) 130,568 k
  45. '
  46. '           Text1.Text = modMemory.GetPhysicalMemoryTotal(False)
  47. '           Would Return : (something like) 130568
  48. '
  49. '*****************************************************************************************
  50. Public Function GetPhysicalMemoryTotal(Formatted As Boolean) As String
  51.     Dim memsts As MEMORYSTATUS
  52.     GlobalMemoryStatus memsts
  53.     If Formatted = True Then
  54.         GetPhysicalMemoryTotal = Format(memsts.dwTotalPhys \ 1024, "###,###,###")
  55.     Else
  56.         GetPhysicalMemoryTotal = memsts.dwTotalPhys \ 1024
  57.     End If
  58. End Function
  59.  
  60. '*****************************************************************************************
  61. ' Function Name : GetPhysicalMemoryFree
  62. ' Description : Returns the free amount of physical memory (RAM)
  63. ' Example : Text1.Text = modMemory.GetPhysicalMemoryFree(True) & " k"
  64. '           Would Return : (something like) 35,444 k
  65. '
  66. '           Text1.Text = modMemory.GetPhysicalMemoryFree(False)
  67. '           Would Return : (something like) 35444
  68. '
  69. '*****************************************************************************************
  70. Public Function GetPhysicalMemoryFree(Formatted As Boolean) As String
  71.     Dim memsts As MEMORYSTATUS
  72.     GlobalMemoryStatus memsts
  73.     If Formatted = True Then
  74.         GetPhysicalMemoryFree = Format(memsts.dwAvailPhys \ 1024, "###,###,###")
  75.     Else
  76.         GetPhysicalMemoryFree = memsts.dwAvailPhys \ 1024
  77.     End If
  78. End Function
  79.  
  80. '*****************************************************************************************
  81. ' Function Name : GetPhysicalmemoryUsed
  82. ' Description : Returns the used amount of physical memory (RAM)
  83. ' Example : Text1.Text = modMemory.GetPhysicalmemoryUsed(True) & " k"
  84. '           Would Return : (something like) 95,124 k
  85. '
  86. '           Text1.Text = modMemory.GetPhysicalmemoryUsed(False)
  87. '           Would Return : (something like) 95124
  88. '
  89. '*****************************************************************************************
  90. Public Function GetPhysicalmemoryUsed(Formatted As Boolean) As String
  91.     Dim memsts As MEMORYSTATUS
  92.     GlobalMemoryStatus memsts
  93.     If Formatted = True Then
  94.         GetPhysicalmemoryUsed = Format((memsts.dwTotalPhys \ 1024) - _
  95.                                 (memsts.dwAvailPhys \ 1024), "###,###,###")
  96.     Else
  97.         GetPhysicalmemoryUsed = (memsts.dwTotalPhys \ 1024) - (memsts.dwAvailPhys \ 1024)
  98.     End If
  99. End Function
  100.  
  101. '*****************************************************************************************
  102. ' Function Name : GetVirtualMemoryTotal
  103. ' Description : Returns the total amount of  virtual memory (Hard Drive)
  104. ' Example : Text1.Text = modMemory.GetVirtualMemoryTotal(True) & " k"
  105. '           Would Return : (something like)  2,093,056 k
  106. '
  107. '           Text1.Text = modMemory.GetVirtualMemoryTotal(False)
  108. '           Would Return : (something like) 2093056
  109. '
  110. '*****************************************************************************************
  111. Public Function GetVirtualMemoryTotal(Formatted As Boolean) As String
  112.     Dim memsts As MEMORYSTATUS
  113.     GlobalMemoryStatus memsts
  114.     If Formatted = True Then
  115.         GetVirtualMemoryTotal = Format(memsts.dwTotalVirtual \ 1024, "###,###,###")
  116.     Else
  117.         GetVirtualMemoryTotal = memsts.dwTotalVirtual \ 1024
  118.     End If
  119. End Function
  120.  
  121. '*****************************************************************************************
  122. ' Function Name : GetVirtualMemoryFree
  123. ' Description : Returns the free amount of  virtual memory (Hard Drive)
  124. ' Example : Text1.Text = modMemory.GetVirtualMemoryFree(True) & " k"
  125. '           Would Return : (something like)  49,920 k
  126. '
  127. '           Text1.Text = modMemory.GetVirtualMemoryFree(False)
  128. '           Would Return : (something like) 49920
  129. '
  130. '*****************************************************************************************
  131. Public Function GetVirtualMemoryFree(Formatted As Boolean) As String
  132.     Dim memsts As MEMORYSTATUS
  133.     GlobalMemoryStatus memsts
  134.     If Formatted = True Then
  135.         GetVirtualMemoryFree = Format(memsts.dwAvailVirtual \ 1024, "###,###,###")
  136.     Else
  137.         GetVirtualMemoryFree = memsts.dwAvailVirtual \ 1024
  138.     End If
  139. End Function
  140.  
  141. '*****************************************************************************************
  142. ' Function Name : GetVirtualMemoryUsed
  143. ' Description : Returns the used amount of  virtual memory (Hard Drive)
  144. ' Examples : Text1.Text = modMemory.GetVirtualMemoryUsed(True) & " k"
  145. '           Would Return : (something like)  2,043,136 k
  146. '
  147. '           Text1.Text = modMemory.GetVirtualMemoryUsed(False)
  148. '           Would Return : (something like)  2043136
  149. '
  150. '*****************************************************************************************
  151. Public Function GetVirtualMemoryUsed(Formatted As Boolean) As String
  152.     Dim memsts As MEMORYSTATUS
  153.     GlobalMemoryStatus memsts
  154.     If Formatted = True Then
  155.         GetVirtualMemoryUsed = Format((memsts.dwTotalVirtual \ 1024) - _
  156.                                (memsts.dwAvailVirtual \ 1024), "###,###,###")
  157.     Else
  158.         GetVirtualMemoryUsed = (memsts.dwTotalVirtual \ 1024) - (memsts.dwAvailVirtual \ 1024)
  159.     End If
  160. End Function
  161.